package com.haipumi.biz.impl;

import java.io.IOException;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.naming.NamingException;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.haipumi.beans.haipumi_product;
import com.haipumi.beans.haipumi_taskType;
import com.haipumi.biz.TaskTypeBiz;
import com.haipumi.dao.DBHelper;
import com.haipumi.mapper.TaskTypeMapper;


@Service("taskTypeBiz")
public class TaskTypeBizImpl implements TaskTypeBiz {
	
	@Autowired
	private TaskTypeMapper taskTypeMapper;
	
	@Override
	public List<haipumi_taskType> findAllTaskType(String ttname) {
		return taskTypeMapper.findAllTaskType(ttname);
	}

	@Override
	public int findTaskTypeCount(String ttname) {
		return taskTypeMapper.findTaskTypeCount(ttname);
	}

	@Override
	public haipumi_taskType addTaskType(haipumi_taskType type) {
//		String sql="insert into haipumi_tasktype(ttname,ttdescribe,ttstatus) values( ?, ? ,default )";
//		List<Object> params=new ArrayList<Object>();
//		params.add(type.getTtname());
//		params.add(type.getTtdescribe());
//		try {
//			type.setTtid(  Integer.toString( db.insertWithKey(sql, params) ) );
//		} catch (SQLException e) {
//			e.printStackTrace();
//		}
//		return type;
		int r=taskTypeMapper.addTaskType(type);
		type.setTtid(Integer.toString(r));
		return type;
	}

	@Override
	public haipumi_taskType updateTaskType(haipumi_taskType type) {
		int result=taskTypeMapper.updateTaskType(type);
		if(result>0){
			return type;
		}
		return taskTypeMapper.findTaskTypeById(Integer.parseInt(type.getTtid()));
	}
	
	@Override
	public List<haipumi_taskType> findType(String ttname, int start, int end, String sort,
			String order) {
//		int start=(page-1)*rows;
//		String sql="";//区分是否是按名字查询
//		List<Object> params=new ArrayList<Object>();
//		if("".equals(ttname)){
//			sql="select * from haipumi_taskType order by ? ? limit "+start+","+rows;
//			params.add(sort);
//			params.add(order);
//		}else{
//			sql="select * from haipumi_taskType where ttname like ? order by ? ? limit "+start+","+rows;
//			params.add("%"+ttname+"%");
//			params.add(sort);
//			params.add(order);
//		}
//		List<haipumi_taskType> list=null;
//		try {
//			list=db.findAll(sql, params, haipumi_taskType.class);
//		} catch (Exception e1) {
//			e1.printStackTrace();
//			throw new RuntimeException();
//		}
//		return list;
		Map<String ,Object> map=new HashMap<String,Object>();
		
		map.put("start", start);
		map.put("end", end);
		map.put("sort", sort);
		map.put("order", order);
		map.put("ttname", ttname);
		
		return taskTypeMapper.findType(map);
	} 

	@Override
	public haipumi_taskType updateTypeStatus(haipumi_taskType type) {
//		String sql="update haipumi_taskType set ttstatus=? where ttid =? ";
//		List<Object> params=new ArrayList<Object>();
//		params.add(type.getTtstatus());
//		params.add(type.getTtid());
//		try {
//			db.doUpdate(sql, params);
//		} catch (SQLException e) {
//			e.printStackTrace();
//		}
//		return type;
		int r=taskTypeMapper.updateTypeStatus(type);
		if(r>0){
			return type;
		}
		return taskTypeMapper.findTaskTypeById(Integer.parseInt(type.getTtid()));
	}

	@Override
	public boolean deleteTaskType(String ttid) {
		int r=taskTypeMapper.deleteTaskType(Integer.parseInt(ttid));
		if(r>0){
			return true;
		}
		return false;
	}

}
